E-service to manage contact information and track contact location

ABSTRACT

A method of providing an electronic business card (EBC) access and organization service on the Web. The cardholder database is accessible and searchable from any browser connected to the Internet or the EBC service may be installed behind a conventional firewall and thus accessible only to intranet users. The service thus provides easy access to cardholder contact information with privacy assured by use of integrated access restrictions. Access to and delivery of contact information by the service is not limited to a Web browser interface as commonly known today. The service provides multi-mode access and/or data delivery interfaces. The service also provides an export feature that formats search results into a pre-defined file structure readable by a conventional contact management programs. Custom export file formats may also be defined provide even wider connectivity and cross-platform utility. Access to individual records is controlled at both the record level and the field level, with multiple privacy levels for each field, in addition to the well-known “public” and “private” levels. Users having certain permissions are permitted to read a defined group of records, though not necessarily all fields in each record. A location tracking feature is also provided to allow the cardholder to rapidly designate a pre-defined contact location. Alternately, the cardholder may define a temporary contact location not normally stored in the database system. Electronic mail sent by the cardholder is automatically formatted to contain a signature hypertext link directing recipients of the email to the EBC service. This hyperlink enables the recipient of the email to rapidly access the EBC system to locate the cardholder and/or obtain additional information.

CROSS-REFERENCE TO MICROFICHE APPENDIX

[0001] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the patent and trademark office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present disclosure relates to electronic commerce, more specifically electronic storage and retrieval of information.

[0004] 2. Description of the Related Art

[0005] The ordinary paper business card has become ubiquitous worldwide. Social rituals have even developed concerning the exchange and scrutiny of these small slips of cardboard. By some estimates, billions of business cards change hands every day, yet the cards themselves have numerous shortfalls. Each business card contains only static information on the cardholder, i.e., the person for whom the card was printed and whose name is on the card. Business cards must be reprinted every time any cardholder information (such as a phone number, electronic mail [email] address, or title) changes. Business cards consume not inconsequential amounts of space, yet lack an inherent card-to-card organization. Thus, it can be difficult to retrieve information from a stack of cards, especially if that stack numbers in the hundreds or thousands of cards.

[0006] Privacy of information is also a growing issue among modem business people. By definition, the information on a card is public, yet other information (such as a mobile or home phone number) is necessarily shared with some acquaintances. In such situations, the cardholder or recipient must fumble for a pen and the additional data must be dictated and captured.

[0007] Dynamic access to the cardholder by others is not addressed by the prior art business card, as it only shows static location information as of the last printing of the card. Thus, if a business person is based in Huntington, N.Y. but happens to be traveling to San Jose, Calif., that person's business card will not reflect the California address or phone numbers.

[0008] Electronic means of capturing and storing conventional business card data are currently known. Examples of this technology include card scanners, personal digital assistant (PDA) devices and related software, electronic address books, commercial email programs such as Microsoft® Outlook having their own electronic address books, “smart phones” or PDA/wireless communication device hybrids, Internet (also referred to as the World Wide Web, or simply “Web”) based contact organizers, and the like. This technology all suffers from the same limitation in that it generally lacks multi-level privacy for users and cardholders, it cannot help locate the cardholder, it (generally) lacks the ability to seamlessly export to or import from other database systems, and (with the possible exception of some prior art Web-based contact organizers) it lacks centralized control and universal access.

[0009] What is needed is a widely-accessible electronic service and method for organizing contact information entered by cardholders, including but not limited to all of the information on a standard business card. This service must provide for the ability to export data to standard databases. Privacy of information should be configurable at an information record and field level by the cardholder so that access to some records and some fields in all records can be denied to certain people while access to other records and fields is still allowed. A location feature to allow service users to determine how to best reach a listed cardholder at a given time is also desirable. A dynamic electronic link, such as the well-known Internet hyperlink, is also needed to connect the recipients of email from a cardholder to the service.

SUMMARY

[0010] In one embodiment of the present invention, an electronic business card (EBC) access and organization system operates from a Web-based computer system that includes a database and software for managing access, data privacy, and dynamic updates. The cardholder database, i.e., the database containing records of each registered cardholder (or “Member” of the EBC system), is accessible from any Web browser connected to the Internet. Examples of such common Web browsers are Microsoft's Internet Explorer and Netscape® Navigator®. In an alternate embodiment, the EBC system may be installed behind a conventional network “firewall” security device and thus made accessible only to browsers connected to and authorized to use the intranet defined by and behind the firewall.

[0011] Access to and delivery of contact information in the EBC system is not limited to a Web browser interface as commonly known today. Some embodiments of the present invention provide multi-mode access interfaces, including but not limited to interfaces using voice-controlled and conventional wireless PDA and/or cell phones, two-way pagers, and wireless access protocol (WAP)-enabled devices. Further embodiments of the present invention provide data delivery interface embodiments using, for example, the common alphanumeric pager, wireless markup language (WML), or voice delivery (e.g., audio playback) systems commonly used in the art.

[0012] A location tracking feature is provided in some embodiments by a rapid update service, accessible only to the cardholder (or his designee). Protected by password, this feature allows the cardholder to rapidly designate one of a pre-defined set of contact locations described by physical (i.e., meatspace) address, phone number, FAX number, and/or email address. Alternately, the cardholder may define a temporary contact location not normally stored in the database system. These embodiments thus allow more rapid communications between users seeking cardholders by eliminating the need for users to place repetitive phone calls, FAXes, or emails in an attempt to locate a cardholder.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The present disclosure may be better understood and its numerous features and advantages made apparent to those skilled in the art by referencing the accompanying drawings.

[0014]FIG. 1 is a high-level schematic of the hardware platform, according to one embodiment of the present invention.

[0015]FIG. 2 is a flowchart of the “Search” process, according to one embodiment of the present invention.

[0016]FIG. 3A is a screen shot of the Member Login display, according to one embodiment of the present invention.

[0017]FIG. 3B is a screen shot of the Search display, according to one embodiment of the present invention.

[0018]FIG. 4 is a screen shot of the Card Display screen, according to one embodiment of the present invention.

[0019]FIG. 5 is a flowchart of the “Become New Member” process, according to one embodiment of the present invention.

[0020]FIG. 6 is a screen shot of the Terms & Conditions display, according to one embodiment of the present invention.

[0021]FIG. 7 is a screen shot of the New User data entry display, according to one embodiment of the present invention.

[0022]FIG. 8 is a screen shot of the Registration Confirmation display, according to one embodiment of the present invention.

[0023]FIG. 9 is a screen shot of the Welcome display, according to one embodiment of the present invention.

[0024]FIG. 10 is a screen shot of the My ecardfile display, according to one embodiment of the present invention.

[0025]FIG. 11 is a flowchart of the Export process, according to one embodiment of the present invention.

[0026]FIG. 12 is a screen shot of the File Maintenance display, according to one embodiment of the present invention.

[0027]FIG. 13 is a screen shot of the Export display, according to one embodiment of the present invention.

[0028]FIG. 14 is a flowchart of the “Where Am I?” process, according to one embodiment of the present invention.

[0029]FIG. 15 is a screen shot of the “Where Am I?” display, according to one embodiment of the present invention.

[0030]FIG. 16 is a flowchart of the signature hyperlink export process, according to one embodiment of the present invention.

[0031]FIG. 17 is a screen shot signature hyperlink export display, according to one embodiment of the present invention.

[0032]FIG. 18 is a function block diagram of the Boomerang software application, according to one embodiment of the present invention.

[0033]FIG. 19A is a schematic map of some of the database relationships, according to one embodiment of the present invention.

[0034]FIG. 19B is a schematic map of some of the database relationships, according to one embodiment of the present invention.

[0035]FIG. 19C is a schematic map of some of the database relationships, according to one embodiment of the present invention.

[0036] The use of the same reference symbols in different drawings indicates similar or identical items.

DETAILED DESCRIPTION Introduction

[0037] The electronic business card (EBC) access and organization system consists of a hardware complex providing the physical interface to the Internet, firewall security, web server functionality, data storage, and system redundancy protection. The hardware is controlled and operated by computer instructions (i.e., software) in various forms, including but not limited to microcode, firmware, assembly and other high-level language modules. The EBC system is the integration of the hardware and software elements to perform the functions and provide the features noted in the Summary above.

Hardware Platform

[0038] In one embodiment of the present invention, the EBC access and organization system (also referred to as ecardfile™, the Hewlett-Packard® product embodying a certain aspect of the present invention) is run on 4 N-class Hewlett-Packard 9000 computers 110, as shown in FIG. 1. These computers are configured, in one embodiment, with 4 Gigabytes (GB) of memory and 4 processors, running the HP-UX® operating system version 11.0. Other memory/processor/operating system configurations are also possible. There are two front-end web servers (110A and 110B) talking to a database server (110C) that has access to one or more shared 20 automatic redundant arrays of inexpensive disk drives (RAIDs) 120, each RAID having 64 GB of memory. Warm fail-over server (110D), which uses in one embodiment MC-Service Guard™, a Hewlett-Packard product, protects database server 110C.

[0039] Although an N-class Hewlett-Packard 9000 is described, those skilled in the art will realize that servers other than the N-class Hewlett-Packard 9000 can be used. Accordingly, the invention is not limited to any particular type or brand of server.

[0040] Web Servers

[0041] The two front-end web servers 110A and 110B are served by a two Cisco Systems®, Inc. Catalyst™ 5505 switches 130A and 130B, which are served by two Cisco Local Director™ units 140A and 140B, which in turn are server by two Cisco PIX® Firewall units 150A and 150B. The firewall units 150 connect through an internet service provider (ISP) local area network (LAN) 160 to the Internet 170.

[0042] The web servers are running, in one embodiment of the present invention, the Stronghold® Apache web server operating program, available from C2Net, Inc. This is a 128 bit secured web server. Other commercially-available server operating programs are also useable.

[0043] The Local Director units 140A and 140B load balance the incoming requests to the two web servers 110A and 110B by switching packets in switches 130A and 130B.

[0044] The web content (resident in web servers 110A and 110B) is dynamically built with the aid of server-side Java™ applications known as servlets. The JRun™ servlet engine (in one embodiment of the present invention, version 2.3, build 145) executes these servlets, with the aid of a dynamic loaded module within the Apache web server operating program. The servlets are written to conform to the Java Servlet Development Kit API v2.1, available from Sun Microsystems, in order to properly interface with the Apache web server software.

[0045] The biggest advantage in using servlets as opposed to other web development tools is performance. A single Java virtual machine (in one embodiment of the present invention, the HP-UX Java Virtual Machine version 1.1.8.1) runs on the server and the servlet is loaded once when it is called. It is not loaded again until the servlet changes, and a modified servlet can be re-loaded without restarting the server. The servlet stays resident in memory and is very fast. Static or persistent information can be shared across multiple invocations of the servlet, allowing the sharing of information between multiple users. For instance, a single database connection can be use by multiple browser requests.

[0046] Database Server

[0047] The database servers 110C and 110D run, in one embodiment of the present invention, Informix® Dynamic Server® Version 7.31.UC4. Other database server software packages and versions are also useable. Access to the database is via the industry standard JDBC applications programming interface (API) and Informix' JDBC drivers (in one embodiment of the present invention, driver version 1.40.JC2). The use of JDBC ensures scalability and database and platform independence.

User Interaction

[0048] A user's interaction with the ecardfile EBC system, according to one embodiment of the present invention, is illustrated in FIG. 2. This flowchart shows a typical use of the EBC system to perform a search on cardholder data. Note that, in some embodiments, the user need not be a registered Member of the ecardfile system. In an alternate embodiment, only registered Members can use the system.

[0049] Interaction begins at step 200. The user starts a conventional Web browser, such as Internet Explorer or Netscape Navigator, 210, and enters the ecardfile Uniform Resource Locator (URL) 215. This URL is the Internet address of the EBC system hardware described above and is defined, disseminated, and maintained through means well-known in the art. Upon receipt and processing of the URL by Internet 170 (generally speaking), the user's browser is redirected to a secure web site 218 by conventional techniques common in the art.

[0050] Once connected, ecardfile returns the web browser codes (e.g., HTML) to the user to display the Member Login screen, shown in one embodiment in FIG. 3A. The Member Login screen display consists of window 310 containing the ecardfile login graphic 320, copyright notice 330 and hyperlinks 340 and 345, to a terms of use page and a privacy statement, respectively.

[0051] In step 230 of FIG. 2, the user selects the “Go” button (350) associated with the “View Cards” command in login graphic 320. This selection brings up search screen 360 (FIG. 3B) in window 310. In one embodiment of the present invention, the user is given the choice 232 of searching by cardholder name 234 or ecardfile ID number 236, a multi-digit number or multi-character alphanumeric value representing a cardholder. If the user selects lookup by name, the user is given the further choice 238 of searching by similar sounding names using, for example, the SoundEx software toolbox. In the latter case, the user checks check box 365 to conduct a sounds-like search.

[0052] The search begins 250 when the user selects the “Go” button 370 or 375 corresponding to the type of search desired in step 240. The EBC system returns results 260 in the Results Screen 410 shown in FIG. 4. This screen replaces search screen 360 in window 310.

[0053] A user may chose, at step 220 of FIG. 2, to become a Member of the ecardfile user community, rather than performing a search. In this case, the interaction follows the flowchart of FIG. 5 instead. The process begins in step 501. The user starts a Web browser 210 and visits the ecardfile login screen 320 as before (steps 215, 218, and 220). Here, however, the user selects the “Become New Member” button 370 (FIG. 3A) in step 510.

[0054] This selection brings up Terms screen 610 (FIG. 6) in window 310 (step 515). The user is then given choice 520 to go back to login screen 320 (which ends the “Become New Member” process, step 599) or to continue the process to step 525. Choice 520 is implemented, in one embodiment of the present invention, using Back button 620 and Continue button 630.

[0055] The selection of Continue button 630 brings up, in step 525, New User data entry screen 710 in window 310 (shown in FIGS. 7A and 7B). The user selects an ecardfile ID and password and fills out the personal data using conventional data entry means for any of the well-known access devices and systems discussed above, such as using a keyboard or a voice-controlled (audio) prompt and response scheme. Privacy levels 720 are also set by the user for each field in the user (soon-to-be Member and Cardholder) data record. In one embodiment, depicted in FIGS. 7A and 7B, three privacy levels are possible: Private, denoted by the locked padlock icon 722; Semi-Private, denoted by the partially-locked icon 724; and Public, denoted by the open lock icon 726. Public and Private privacy levels represent the familiar “all access” and “no access” privacy settings known in the art. Semi-Private privacy represents a level of access granted only to certain members of the public, such as a predefined group of users designated by the Member or by a EBC system administrator. Non-designated users do not have access to Semi-Private fields.

[0056] Although a three-level (Private, Semi-Private, and Public) privacy scheme is described, those skilled in the art will realize that privacy (or security) schemes implemented in more than three levels can be used. For example, a variety of different user groups can be defined with exclusive Semi-Private access given to some groups over others on a field-by-field basis. Accordingly, the invention is not limited to any particular number of privacy levels.

[0057] Once all requested information has been entered (or left blank, where optional as defined by the EBC system), the user chooses to continue or not at step 535. If the user decides not to continue by pressing Cancel button 740 (FIG. 7B), the process ends at step 599. If, however, the user chooses Okay button 730, the system displays a Registration Confirmation page 810 (FIG. 8) in window 310. Here the user is given the choice 545 to accept the terms of use of the EBC system (via Accept button 820) or to go back (via Back button 830) to step 530 to edit personal data or enter additional data.

[0058] If the user accepts the terms of use, and email message is automatically dispatched 550 by the EBC system to the new Member's designated authorizing email address (field 750 in FIG. 7B). A welcome screen 910 (FIG. 9) is then displayed to the new Member, step 560, in window 310.

[0059] Meanwhile, the user (now a Member) receives an authorization email message by conventional means. In one embodiment of the present invention, such an email message is as shown in Table 1 below. This email authorization method provides a measure of additional security by ensuring that each Member is associated with a valid email address. The email address is also used to verify a user identity in case of a lost password: on the user's request, the password will be sent to the authorized email address only.

[0060] When the user selects the embedded hyperlink (in this example, the string beginning http://ecardfile.com . . . ) in step 570, the EBC system directs the Member (in step 580) to home page 1010 in window 310 (FIG. 10). In some embodiments (not shown), home page 1010 is personalized with Member data, such as the Member's name. TABLE 1 Welcome! You have been added as a new Member of ecardfile.com. To activate your password, please click on the Web address below: http://ecardfile.com/search?op=Confirm&eCardId=terry&createId=0Av4J j6nWZwA4 You can also type the above Web address into your Web browser. Once you have connected to the ecardfile.com site through the above address, your password activation is complete, and you can begin to enjoy the ease and convenience of having your business contact information on the Web. If you do not connect to ecardfile.com through the above address within two weeks, your card will be deactivated. We look forward to having you as an ecardfile.com Member! webmaster@ecardfile.com

Export Process

[0061] FIG 11 shows the process whereby a user is able to export card data to a file. As above, the user must first login to ecardfile.com. At step 1610, the user selects file maintenance button 394. A user file maintenance screen (FIG. 12) is then 30 displayed, step 1620. The user selects a card to export, step 1630, from the list of cards added by the user to his/her private list. These cards represent other users to whom the user has granted extra privileges. Non-member users do not have export privileges. Of course, only the information to which the user has been granted access is exported.

[0062] The user next selects the export button 1710 (FIG. 12) in step 1640, which brings up an export options screen, shown in FIG. 13. The user selects the desired output format, step 1660, and is presented with a conventional “Save As” dialog, step 1670. The user enters a name of the file into which the card export will be saved, step 1680 and selects the Save button, step 1685. If Save is selected, the data will be saved by conventional means in step 1687. If not, as when the user selects “Cancel” instead, the process drops to the end state, step 1690, and returns to waiting for user input.

[0063] The exported card is formatted into a pre-defined data file structure readable by one or more conventional and commercially-available contact management programs. In some embodiments, custom export file formats may also be defined by the user to provide even wider connectivity and cross-platform utility.

“Where Am I?” Contact Location Tracking

[0064] The process of setting up a temporary location pointer for a specific Cardholder/Member begins in step 1110 of FIG. 14. As before, the Member sets his or her browser to the appropriate EBC system URL and connects to the system, steps 210, 215, 218, and 220. The Member then logs in, step 1120, and is displayed home page 1010 (FIG. 10) in step 1130.

[0065] The Member then selects an icon or button denoting the function “Edit My Card.” In one embodiment of the present invention, this function is iconified in button 395. In response, the EBC system displays (step 1140) a user information screen (not shown) in window 310. The Member there selects a button denoting the function “Where Am I?” in step 1150.

[0066] At this point (step 1160), the EBC system displays “Where Am I?” screen 1210 (FIG. 15) in window 310 thereby prompting the Member for a phone number and additional details of the Member's location, step 1165. This information also includes an expiration date, i.e., a date beyond which the “Where Am I?” data is no longer valid.

[0067] To exit the “Where Am I?” information dialog, the Member clicks Okay button 1220 (step 1167), to save the “Where Am I?” data, or the Back button 1230 to cancel “Where Am I?” data input. The process returns to a display of the user information screen, step 1140, and stops, step 1199.

Signature Hyperlinking

[0068] The process of exporting a signature hyperlink, shown in FIG. 16, is almost the same as that of exporting a card, except that the user selects the My Card button 395 rather than the file maintenance button 394. The options screen, shown in FIG. 17, is presented at step 1820. The output of the process, step 1830, is a file containing either a hyperlink or a conventional vCard file, as selected from the options display of FIG. 17.

[0069] Either the signature hyperlink or the vCard (which can also contain a hyperlink) can then be used by conventional email programs. Electronic mail sent by the cardholder is automatically formatted to contain a signature hypertext link, according to the well-known hypertext markup language (HTML) standard or any of its common variants, directing recipients of the email to the electronic business card access and organization system. This hyperlink enables the recipient of the email to rapidly access the EBC system to locate the cardholder and/or obtain additional information. In effect, receipt of an email containing the hyperlink enables the recipient to easily become a user. In some embodiments, the signature hyperlink is part of the vCard feature known and implemented in common email programs such as Microsoft Outlook and Netscape Communicator®. In an alternate embodiment, the signature hyperlink is implemented using the well-known email signature block feature.

Ecardfile Help Screens

[0070] The following topics are the subject of individual help screens, available to any EBC system user or Member by pushing (in some embodiments of the present invention) the Question Mark (“?”) button 390, shown in, e.g., FIG. 3A. The contents of these help screens are reproduced below as an aid to understanding the EBC system.

[0071] Become a Member

[0072] Set up your card

[0073] Set up “Where Am I?”

[0074] Add others' cards to your ecardfile

[0075] Exchange cards with others

[0076] Set/change privacy levels

[0077] Export cards to your address book

[0078] Set up your email signature

[0079] Contact ecardfile.com support

[0080] Become a Member

[0081] As an ecardfile Member, you set up your own Card Profile and establish your own unique Card ID and Password. Then, whenever you log in, you are located at your personal ecardfile and can view cards from other Members and add them into your ecardfile.

[0082] Let's walk through the process of becoming a Member.

[0083] 1. From the Member login screen, click the Become a Member button.

[0084] 2. Fill in your Card Profile: the profile contains all of your contact information and can be updated as needed. See the help menu topic “Set Up Your Card” for more information.

[0085] After your membership is confirmed, you can log in to ecardfile.com using your Card ID and password. After log in, you are brought to your personal ecardfile area. Here is where you can store other Member cards and perform functions such as adding, deleting, changing the privacy level access to your Card that you have given to other Members, and exporting a card to your address book.

[0086] It's a good idea to keep your “Where Am I?” information current. To access it, click on the My Card Profile icon and scroll to the bottom of the screen.

[0087] The more people you know who join ecardfile.com, the easier it is to use this convenient way to access business information. To help get the word out, please download your personal email signature or vCard (accessible from the export button at the bottom of your Card Profile) and attach it to all your emails. When people receive email from you, they can click on your signature link and go directly to your Card Profile in ecardfile.com. From there, they can also choose to become ecardfile Members, if they are not Members already.

[0088] Set Up Your Card

[0089] When filling in your Card Profile, please keep a few concepts in mind: When selecting your Card ID, use up to 40 alphanumeric characters. Because you will be giving out this ID to your business and personal contacts, make your ID simple and easy to remember; it's use is similar to that of your email username. Although ecardfile.com also enables you to be looked up through a first name/last name search, it will usually be much faster for people to look you up by your Card ID.

[0090] When selecting your password, use up to 10 alphanumeric characters. Make your password something easy for you to remember and hard for others to guess.

[0091] As you are entering information into your Card Profile, please keep in mind that ecardfile.com gives you three levels of privacy for each field:

[0092] Level 1—Public. Information at this level will be displayed to anyone who looks up your card. This could be anyone viewing cards from the World Wide Web, whether you know them or not.

[0093] Level 2—Semi-Private. Information at this level will displayed only to other ecardfile Members who are in your personal ecardfile and who have been designated to receive your semi-private information.

[0094] Level 3—Private. Information at this level will displayed only to other ecardfile Members who are in your personal ecardfile and who have been designated to receive your private information.

[0095] All field information is set to private when you first fill out a Card Profile. Be sure to select other privacy levels for fields that are either semi-private or public.

[0096] The Email Auth field is used only by ecardfile.com for verification purposes. It is never displayed on your Card. You must enter a current email address in the Email Auth field. Once you complete the Card Profile and click “OK,” ecardfile sends an email to this address and waits for your reply before authorizing your membership and enabling you to log in. This authorization process has been designed to protect your privacy and identity.

[0097] Add Others' Cards To Your Ecardfile

[0098] From your personal ecardfile screen, use the Look Up fields to view the card of the Member you want to add. When the card is displayed, press the Add icon.

[0099] If you would like to give this Member access to your semi-private or private ecardfile information, be sure to change the privacy level displayed next to the Member's name. See the help topic “Set/change privacy levels” for more information.

[0100] Exchange Cards With Others

[0101] In order to protect your privacy, ecardfile.com offers several ways you can exchange cards with others.

[0102] Anyone, whether they know you or not, can look you up by name and see the information designated as “public” in your Card Profile. Note: for this reason, you may decide not to have your email addresses be part of your public information.

[0103] Casual or new acquaintances can look you up by name search or by Card ID and see the information designated as “public” in your Card Profile.

[0104] Members can look you up by name search or Card ID and see the public, semi-private or private information you have specifically designated for them.

[0105] For example, let's say a new person, Hans, has joined your project team; he works out of your company's Munich office, and you are in Los Angeles. Hans is not yet a Member of ecardfile.com.

[0106] 1. At the initial team conference call, you give Hans your Card ID and tell him that's where all your contact information is.

[0107] 2. Hans accesses ecardfile.com and becomes a Member. He looks up your Card and adds it to his personal ecardfile. He wants you to have his semi-private information so he marks your card with the semi-private access key.

[0108] 3. You look up Hans's card and add it to your personal ecardfile. You then mark Hans's card with the semi-private access key so that he can see more detailed information about you than what appears on your public card.

[0109] 4. Over the next 6 months, Hans changes office locations and gets a new phone number; your fax number changes, and the Post Office gives your part of town a new zip code. Thanks to ecardfile.com, your contact information is always current.

[0110] Set Up “Where Am I?”

[0111] From your Card Profile, scroll to the bottom of the screen and click on “Where Am I?” You'll have the option to input a current phone number, details about your whereabouts, and an expiration date. Note that you can specify different privacy levels for the phone number, details and expiration fields, so you might want your phone number to be public, while the details of where you are remain private. To see another Member's “Where Am I?” information, select her card from your personal ecardfile or look up her card. When the card is displayed, scroll to the bottom of the screen and click on “Where Am I?”

[0112] The expiration date uses the date at the ecardfile server's location, US Pacific Standard Time (PST). The expiration date is customizable to the ecardfile Member's own location.

[0113] Set Up Your Email Signature

[0114] Use this function to download a signature file or a vCard from ecardfile.com to your email system. Access it by going to your Card Profile, scrolling to the bottom of the screen, and clicking on Export. Then follow the instructions on the screen to export to your particular email system.

[0115] A signature file has an HTML link to your Card; when downloaded, the signature file will embed the link into all of your email messages. When someone reads your message and wants to view your contact information, he just clicks on the HTML link and is immediately connected to your Card and your up-to-the-minute contact information.

[0116] A vCard is a file that holds your contact information in a standard format. Some email packages such as Microsoft Outlook and Netscape Communicator recognize this format and can treat it in a special way. Because it is not a live link, it may display old or inaccurate information, particularly if someone is reading an old email message from you.

[0117] If your email package, or more importantly the message recipient's email package, does not support HTML tags or vCards, you may cut and paste the HTML link displayed and attach it to your messages. The recipient just clicks or cut and pastes the HTML link into a browser and is immediately connected to your Card and your up-to-the-minute contact information.

[0118] Export Cards To Your Address Book

[0119] Use this function to download cards from your personal ecardfile to your email address book.

[0120] 1. Go to your personal ecardfile.

[0121] 2. Select the card for export by placing a check mark next to it.

[0122] 3. Click on the maintenance button.

[0123] 4. Select export.

[0124] 5. Select the format of your address book.

[0125] 6. Follow the online instructions to export the card information.

[0126] Contact Ecardfile.com Support Hyperlink

[0127] Here, an email window automatically pops up if this link is selected, and ecardfile.com's technical support address is automatically inserted into the “To” field.

[0128] Get Help On a Specific Screen Field Or Icon

[0129] To get help on a specific screen or field, place the mouse arrow on the gray bar of the screen and press the “Help” key on the keyboard.

[0130] To get help on a specific icon, pass the mouse over the icon, and the icon title will display.

[0131] One of ordinary skill in the art will appreciate that many other methods of activating context sensitive help are known in the art; the present disclosure is intended to encompass all such well-known methods and is not limited to any single form.

[0132] Set/Change Privacy Levels

[0133] ecardfile.com gives you two ways to control who sees what information about you: You can designate each field in your Card Profile with a specific privacy level that governs private, semi-private or public viewing of that field. Alternatively, you can specify which Members have access to which level of privacy about you. If a particular Member has access to your semi-private information, he or she will see all of the fields marked public or semi-private when viewing your card.

[0134] Designate Your Card Profile privacy

[0135] To change privacy levels on a field in your Card Profile (for example, to make your business email address, which had been public, semi-private) click on the My Card Profile icon and then click the appropriate new privacy button next to the email address field. A public field has the open padlock icon selected. A semi-private field has the partly-open padlock icon selected. A private field as the closed padlock icon selected.

[0136] Specify Member Privacy

[0137] Let's say you want to give your new manager access to your private information.

[0138] 1. From your personal ecardfile, look up your manager's card and add it to your file.

[0139] 2. Select the card for maintenance by placing a check mark next to it.

[0140] 3. Click on the Maintenance button.

[0141] 4. Select Edit Privacy.

[0142] 5. Select the new privacy level you want your new manager to have about you.

[0143] 6. Select Update to save the new privacy level.

[0144] Now, whenever your new manager accesses your Card, she will see all information you have designated as public, semi-private and private.

Software Implementation

[0145] In one embodiment of the present invention, the controlling software application providing some of the EBC system functionality is called Boomerang. The Boomerang application has five major components, shown schematically in FIG. 18:

[0146] 1. Session Manager daemon 1310, which maintains state information;

[0147] 2. Login Servlet 1320, which handles user/Member authentication;

[0148] 3. Search Servlet 1330, which handles most of the user/Member interface functionality;

[0149] 4. JDBC Objects/Classes 1340, which implement the database functionality; and

[0150] 5. HTML Template Engine, which handles conventional dynamic HTML processing. This component is typically implemented in Java and reads HTML tagged files.

[0151] Boomerang is designed to scale and perform well under extreme loads. It is designed to operate on multiple processors simultaneously, i.e., with multiple instances of objects and methods. Multiple Web servers and Java virtual machines may be used as server loading and traffic demands.

[0152] In one embodiment of the present invention, most of the Boomerang application, Web server 1360 (in one embodiment of the present invention, Stronghold Apache), JRun Servlet Engine 1370, and a Remote Memory Invocation (RMI) registry will run on each of the two Web server machines 110A and 110B (FIG. 1). The JRun Servlet Engine 1370, and RMI registry are common Java objects; the RMI API allows a servlet to invoke the methods of a Java object executing on another machine. The Session Manager 1310, another RMI registry, and the Informix database software 1380 will run on one of the databases servers 110C or 110D, the other database server acting as a warm fail-over device.

[0153] Software Components

[0154] In the following discussion, the terms “Member” and “user” are used interchangeably to refer to a person who has established a login identify in the EBC system. Strictly speaking, however, a Member is a person who has completed the New Member process and properly replied to the authorization email; user is a person who has not.

[0155] Session Manager 1310

[0156] When the system is first accessed, a session will be created. This session will be identified by a unique session ID. This ID will be used for the following tasks.

[0157] Once a user has successfully logged in, the session ID will make a record of this fact so that when a user returns to a page that requires user authentication or identification, the user will not be re-prompted to login. The session ID will be passed from Web page to page as either a hidden field in a form or by rewriting the URL, both well-known techniques in the art. Alternatively, the user may be given the option of saving authentication information in a local file, known in the art as a cookie. The system will check for this cookie prior to displaying the login page.

[0158] The session ID will expire if it has not been accessed in a time configured by the EBC system administrator.

[0159] Login Servlet 1320

[0160] This servlet is activated when a function requiring user authentication is called and the user has not yet logged in. The login screen is shown and user name and password input received. The input name and password are matched against a users table. If the user name is found and the proper password supplied, the request (and session ID, if present) is passed to the Search Servlet.

[0161] Search Servlet 1330

[0162] The Search Servlet requests a session ID if one was not passed to it, or validates the ID if one was passed. If the requested operation requires user authentication and the user has not already logged in, the Login Servlet is called. All URL and form parameters are passed to the application logic of the servlet for processing.

[0163] After processing the URL and form parameters, a HTML document (e.g., a results screen) is returned to the requestor, typically the browser window.

[0164] JDBC Objects/Classes 1340

[0165] These consist of generic JDBC classes that execute queries and return results in a Java hash table indexed by column name. To make more efficient use of database resources, all structured query language (SQL) statements are prepared at servlet initialization.

[0166] Also at servlet initialization, database connection pool 1390 creates a number of connections to the database, the precise number of which is configurable by the EBC system administrator. These connections are utilized by each servlet thread on an as-needed basis. Additional connections are created as demand requires; inactive connections are periodically recycled.

[0167] HTML Template Engine 1

[0168] All pages displayed by the Boomerang application, including the help and information screens, are dynamically generated. The base HTML code and image links for these pages are stored as template files which are preloaded on servlet initialization. These files are parsed and custom tags replaced with data extracted from the database (or calculated) before sending the page to the requester and display to the user.

[0169] Administration Programs

[0170] In addition to the Boomerang application, the EBC system also includes a set of shell and SQL scripts that operate on a periodic basis (i.e., are activated by cron) to perform housekeeping and maintenance tasks. In particular, the following program functions are required.

[0171] a) Purge inactive users who have not activated themselves via the login email after a defined period of time, for example one month

[0172] b) Expire “Where Am I?” temporary contact information

[0173] c) Lock and unlock IP addresses (to prevent access by IP addresses that appear to be attempting to access the service for illicit purposes)

[0174] d) Rollover logs and reports

[0175] One of ordinary skill in the art will recognize that these functions may be implemented in a single program or script or in a set of programs and/or scripts. Accordingly, the present invention is not limited by the method of implementation of these functions.

[0176] Database Schema

[0177]FIGS. 19A, 19B, and 19C illustrate the database structure and one-to-many /one-to-one relationships between records and fields in one embodiment of the present invention. In particular, relationship symbol 1410 denotes a one-to-many correspondence, the “one” side represented by the “=” sign end. See FIG. 19A for an example. Relationship symbol 1420 (see FIG. 19B) denotes a one-to-one mapping, the “one” side again represented by the “=” sign end.

[0178] The notations PK, FK1, and I1-I5 represent SQL field labels. SERIAL, in particular, is a well-known data type.

[0179] Although a particular database schema and naming convention for records and fields is described, those skilled in the art will realize that schema other than that described can also be used. Accordingly, the invention is not limited to any particular type of database schema.

Alternate Embodiments

[0180] In an alternate embodiment, the EBC system may be installed behind a conventional network “firewall” security device and thus made accessible only to browsers connected to and authorized to use the intranet defined by and behind the firewall.

[0181] Access to and delivery of contact information in the EBC system is also not limited to a Web browser interface as commonly known today. Some embodiments of the present invention provide multi-mode access interfaces, including but not limited to interfaces using voice-controlled and conventional wireless PDA and/or cell phones, two-way pagers, and wireless air protocol (WAP)-enabled devices.

[0182] Further embodiments of the present invention provide data delivery interface embodiments using, for example, the common alphanumeric pager, wireless markup language (WML), or voice delivery (e.g., audio playback) systems commonly used in the art.

[0183] The EBC system also provides an advanced search function that allows users to search for records matching specific, desired characteristics. The search can be made based on one or more of a variety of database parameters, including but not limited to field value (e.g., NAME=Sheehy), date of entry, or a Boolean combination of search terms.

[0184] In an alternate embodiment of the “Where Am I?” location tracking feature, the cardholder can rapidly designate one of a pre-defined set of contact locations described by meatspace address, phone number, FAX number, and/or email address.

[0185] The order in which the steps of the processes depicted above are performed is purely illustrative in nature. In fact, the steps in each process flow can be performed in any order or in parallel, unless otherwise indicated by the present disclosure.

[0186] The method of the present invention may be performed in either hardware, software, or any combination thereof, as those terms are currently known in the art. In particular, the present method may be carried out by software, firmware, or microcode operating on a computer or computers of any type. Additionally, software embodying the present invention may comprise computer instructions in any form (e.g., source code, object code, or interpreted code) stored in any computer-readable medium (e.g., ROM, RAM, magnetic media, punched tape or card, compact disc (CD) in any form, DVD). Furthermore, such software may also be in the form of a computer data signal embodied in a carrier wave, such as that found within the well-known Web pages transferred among computers connected to the Internet. Accordingly, the present invention is not limited to any particular platform, unless specifically stated otherwise in the present disclosure.

[0187] While particular embodiments of the present invention have been shown and described, it will be apparent to those skilled in the art that changes and modifications may be made without departing from this invention in its broader aspect and, therefore, the appended claims are to encompass within their scope all such changes and modifications as fall within the true spirit of this invention.

Trademark Notices

[0188] Cisco Systems and PIX are registered trademarks and Catalyst, Local Director are trademarks of Cisco Systems, Inc., San Jose Calif.

[0189] Hewlett-Packard and HP-UX are registered trademarks and MC-Service Guard and ecardfile are trademarks of the Hewlett-Packard Company, Palo Alto, Calif.

[0190] Informix is a registered trademark and Informix Dynamic Server is a trademark of Informix Software, Menlo Park, Calif.

[0191] Java is a trademark of Sun Microsystems, Inc., Palo Alto, Calif.

[0192] JRun is a trademark of Allure Corp., Cambridge, Mass.

[0193] Microsoft is a registered trademark of Microsoft Corp., Redmond, Wash.

[0194] Netscape, Netscape Navigator, and Netscape Communicator are registered trademarks of Netscape Communications Corp., Mountain View, Calif.

[0195] Stronghold is a registered trademark of C2Net, Inc., Oakland, Calif. 

We claim:
 1. A method of providing access to a collection of electronic business cards comprising the steps of: providing an electronic business card file Web site to a user; allowing the creation of an electronic business card file by the user using said Web site, said creation comprising: allowing the user to enter information into a plurality of fields; storing said information; and sending an authentication email to the user, wherein a reply to said authentication email is required to complete said creation; allowing the user to search for one or more records; allowing the user to view said records; and if said creation is completed, allowing the entry of temporary location information by the user into a second plurality of fields and storing said temporary location information.
 2. The method of claim 1, wherein said electronic business card file Web site is accessible from the Internet.
 3. The method of claim 1, wherein said electronic business card file Web site is accessible from an intranet isolated from the Internet by a firewall security device.
 4. The method of claim 1, wherein said electronic business card file Web site is accessible from a web browser.
 5. The method of claim 1, wherein said electronic business card file Web site is accessible from a personal digital assistant.
 6. The method of claim 1, wherein said electronic business card file Web site is accessible from a browser-enabled telephone.
 7. The method of claim 1, wherein said electronic business card file Web site is accessible by spoken commands.
 8. The method of claim 1, wherein said first format comprises audio playback.
 9. The method of claim 1, wherein said temporary location information comprises an expiration date, and wherein said temporary location information is deleted on or after said expiration date.
 10. A computer system for providing access to a collection of electronic business cards, comprising computer instructions for: providing an electronic business card file Web site to a user; allowing the creation of an electronic business card file by the user using said Web site, said creation comprising: allowing the user to enter information into a plurality of fields; storing said information; and sending an authentication email to the user, wherein a reply to said authentication email is required to complete said creation; allowing the user to search for one or more records; allowing the user to view said records; and if said creation is completed, allowing the entry of temporary location information by the user into a second plurality of fields and storing said temporary location information.
 11. The computer system of claim 10, wherein said electronic business card file Web site is accessible from the Internet.
 12. The computer system of claim 10, wherein said electronic business card file Web site is accessible from an intranet isolated from the Internet by a firewall security device.
 13. The computer system of claim 10, wherein said electronic business card file Web site is accessible from a web browser.
 14. The computer system of claim 10, wherein said electronic business card file Web site is accessible from a personal digital assistant.
 15. The computer system of claim 10, wherein said electronic business card file Web site is accessible from a browser-enabled telephone.
 16. The computer system of claim 10, wherein said electronic business card file Web site is accessible by spoken commands.
 17. The computer system of claim 10, wherein said first format comprises audio playback.
 18. The computer system of claim 10, wherein said temporary location information comprises an expiration date, and wherein said temporary location information is deleted on or after said expiration date.
 19. A computer-readable storage medium, comprising computer instructions for: providing an electronic business card file Web site to a user; allowing the creation of an electronic business card file by the user using said Web site, said creation comprising: allowing the user to enter information into a plurality of fields; storing said information; and sending an authentication email to the user, wherein a reply to said authentication email is required to complete said creation; allowing the user to search for one or more records; allowing the user to view said records; and if said creation is completed, allowing the entry of temporary location information by the user into a second plurality of fields and storing said temporary location information.
 20. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible from the Internet.
 21. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible from an intranet isolated from the Internet by a firewall security device.
 22. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible from a web browser.
 23. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible from a personal digital assistant.
 24. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible from a browser-enabled telephone.
 25. The computer-readable storage medium of claim 19, wherein said electronic business card file Web site is accessible by spoken commands.
 26. The computer-readable storage medium of claim 19, wherein said first format comprises audio playback.
 27. The computer-readable storage medium of claim 19, wherein said temporary location information comprises an expiration date, and wherein said temporary location information is deleted on or after said expiration date.
 28. A computer data signal embodied in a carrier wave, comprising computer instructions for: providing an electronic business card file Web site to a user; allowing the creation of an electronic business card file by the user using said Web site, said creation comprising: allowing the user to enter information into a plurality of fields; storing said information; and sending an authentication email to the user, wherein a reply to said authentication email is required to complete said creation; allowing the user to search for one or more records; allowing the user to view said records; and if said creation is completed, allowing the entry of temporary location information by the user into a second plurality of fields and storing said temporary location information.
 29. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible from the Internet.
 30. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible from an intranet isolated from the Internet by a firewall security device.
 31. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible from a web browser.
 32. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible from a personal digital assistant.
 33. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible from a browser-enabled telephone.
 34. The computer data signal of claim 28, wherein said electronic business card file Web site is accessible by spoken commands.
 35. The computer data signal of claim 28, wherein said first format comprises audio playback.
 36. The computer data signal of claim 28, wherein said temporary location information comprises an expiration date, and wherein said temporary location information is deleted on or after said expiration date. 